Genesis 3D |
||
per collaborazioni, commenti, critiche, e altro contattateci alla e-mail: clubinfo@libero.it risponderemo al pių presto! |
Sesta lezione
Per commentare, dare suggerimenti
o consigli (molto apprezzati) e per segnalare eventuali errori o
disattenzioni (sempre possibili), puoi inviare una email all'autore (clicca
sul nome sopra). Grazie per la collaborazione!
In questo tutorial prendiamo confidenza con gli strumenti a disposizione. Per prima cosa fissiamo un obiettivo. Utilizzeremo Milkshape per creare un personaggio stilizzato con pochi essenziali poligoni, gli forniremo una texture e una semplice animazione.
Un passo essenziale per la riuscita della modellazione è quello di cercare in anticipo le immagini da usare come texture. Nel nostro esempio utilizzeremo la pelle della giraffa e quella della mucca.
__
Utilizzeremo la prima per ricoprire il corpo di Proto e la seconda per gli arti. Per la testa invece useremo un materiale senza alcune texture.
Importante rispettare le dimenzioni delle texture: larghezza e altezza devono essere una potenza di 2 (e uguali), quindi si possono usare 32x32, 64x64, 128x128, 256x256. Texture più grandi non sono permesse. Inoltre il numero di colori non può superare 256 (attenzione all'ultimo colore della palette che viene usato per le trasparenze). Le texture devono essere salvate in formato bitmap (.bmp a 8 bit)
Una volta pronte le texture possiamo inziare la modellazione. Potremmo utilizzare 3D studio MAX per realizzare questa operazione e poi esportare le mesh per il programma milkshape. Per oggetti molto complicati questa è la strada che conviene seguire. nel nostro caso si tratta di un oggetto molto semplice che non richiede strumenti di modellazione precisi, quindi usiamo direttamente Milkshape.
La schermata inziale dovrebbe apparire circa così
:
Le quattro aree rappresentano quattro differenti viste della scena, mentre a destra c'è la barra con le opzioni.
Dalla barra Model, aggiungiamo un parallelepipedo, una sfera e un cilindro
facendo click sull'appropriato bottone, selezionando un punto in una delle
4 viste e trascinando il mouse per stabilire la dimensione.
Nella vista forntale e in quella laterale deve spuntare qualcosa tipo l'immagine
in figura.
Adesso chiariamo un aspetto molto importante delle animazioni per genesis. Genesis supporta un solo tipo di animazioni. L'oggetto da animare deve presentare uno scheletro organizzato in una struttura gerarchica. Quindi le mesh da animare devono essere collegate alle ossa (bones); l'animazione quindi deve essere applicata alle bones e non ai vertici dell'oggetto. Questa introduzione è importante soprattutto per chi usa 3D Studio perchè permette una grande quantità di possibilità per gestire le animazioni.
Prima di procedere diamo un nome significativo ad ogni elemento dell'omino. Questo può essere fatto nella sezione Group. Inizialmente dovrebbe assomigliare a questa:
Un gruppo è un insieme di facce che costituiscono un "unione
logica" quando si crea una primitiva (ad esempio Box) questa è
automaticamente un Gruppo. Ma si possono sempre creare nuovi gruppi. Questo
risulta importante soprattutto nella gestione delle texture. Adesso comunque
ci vanno bene questi gruppi.
Selezioniamo ogni voce e assegniamo i nomi come in figura.
Semplicemente scrivendo il nome desiderato per la voce scelta e premendo su Rename. Se si ha il dubbio di quale mesh corrisponde al gruppo, si può deselzionare la figura (cliccando su Model/Select e un punto vuoto qualunque della vista) e poi tornando a Group si prema su Select. Si evidenzierà solo la mesh corrispondente.
Uno scheletro è una organizzazione gerarchica di oggetti chiamati
bone. Deve essere creato un bone radice e ad esso possono essere collegati
i bone figli. A loro volta i bone figli possono essere padri e così
via.
La gerarchia è importante perchè un movimento del bone padre
si propaga nella catena su tutti i suoi figli. Mentre un movimento del bone
figlio non si propaga verso il padre.
Questo ci deve suggerire l'uso che faremo dello scheletro. Immaginiamo per
ora solo un braccio, formato da tra parti: spalla, braccio e avanbraccio.
Se solleviamo la spalla, tutta la struttura si solleva in modo rigido. Se
invece ruotiamo il braccio, solo l'avambraccio subirà la stessa rotazione,
mentre la spalla non sarà interessata.
Creiamo una struttura scheletrica sovraponendola al modello. Torniamo al pannello Model. Allargiamo la vista frontale cliccandovi con il tasto destro e selezionando Maximize. Impariamo subito due utili comandi per selezionare la vista migliore sull'oggetto. Assicuriamoci che il pulsante "seleziona" non sia premuto. Premendo Shift sulla tastiera chicchiamo sulla vista e trasciniamo il mouse. L'effetto è quello dello Zoom. Attenzione non stiamo scalando le dimensioni dell'oggetto ma solo cambiando la viewport. Premendo invece Ctrl si ha uno spostamento della viewport.
Selezioniamo dai Tools il pulsante Joint (giuntura = bone)e premiamo in corrispondenza
dello stomaco dell'omino. Abbiamo appena creato il nodo radice. Cliccando
altrove nella vista si creano tutti i figli. Per fare in modo che da uno stesso
nodo partano più figli bisogna selezionare il nodo interessato. Per
farlo si vada in Select nella barra Model e tra le "select options"
si scelga Joint. Adesso si può selezionare il nodo interessato, cliccare
nuovamente in Tools/Joint e creare la sottostruttura.
Realizzare qualcosa che assomigli a questo:
In modo del tutto analogo a quanto visto prima rinominiamo le bone del modello. Andiamo nel pannello Joints e diamo i seguenti nomi:
Ancora modello e scheletro sono due entità separate, in quanto non abbiamo effettuato l'assegnazione. L'assegnazione deve seguire delle semplici regole. Ogni vertice deve essere collegato ad un bone. Ci possono essere bone a cui non è collegato nessun vertice. Fine.
Effettuiamo il collegamento del corpo al nodo radice.
Si prema su Model/Select e si deselezioni la figura. Si scelga l'opzione Vertex
e ci si assicuri che la casella Ignore Backfaces non sia spuntata. A questo
punto si selezionino i quattro vertici del corpo, o tutti assieme, o singolarmente
premendo Shift per aggiungere il vertice alla selezione. In realtà
si sono selezionati tutti e otto i vertici perché l'opzione Ignore
Backfaces, quando non è selezionata, fa si che la selezione valga anche
per i vertici che stanno dietro.
Adesso senza deselezionare i vertici si scelga l'opzione Joint e sempre premendo Shift si selezioni il nodo radice:
Adesso spostiamoci sul pannello Joints e premiamo il pulsante Assign.
Ripetiamo l'operazione collegando le braccia ai joint spalla e le gambe ai
joint anca; non si scordi di collegare la testa al Joint collo.
Finita questa operazione un pò noiosa si controlli se qualche vertice
non è stato dimenticato. Si vada nel pannello joints e si prema SelUnassigned.
Se qualche vertice si illumina di rosso vuol direche è stato dimenticato.
In queste condizioni il modello non può essere esportato, quindi si
proceda nel correggere questo errore.
__
Il modello già così per come è potrebbe essere esportato
e verrebbe visualizzato senza alcune texture. Vedremo che l'aggiunta della
texture corretta fornisce quel "qualcosa in più" al nostro
modello.
Andiamo nel pannello Materials.
Un materiale in Milkshape può essere di due tipi: o una ombreggiatura, oppure una texture. Nel primo caso dovremmo assegnare i valori di Ambient, Diffuse, Specular e Emissive. Nel secondo caso dovremo selezionare la bitmap corretta e assegnare le coordinate di mappatura. Utilizzeremo entrambe le tecniche.
Per prima cosa torniamo alla vista a quattro finestre cliccando con il tasto
destro e deselezionando maximize. Adesso sempre col tasto destro clicchiamo
nella vista prospettica e scegliamo la visualizzazione "textured".
Premiamo New dal pannello e diamo il nome "Giraffa".
Premere il primo dei due pulsanti in cui spunta la dicitura <none>.
Compare una finestra per la selezione della texture. Scegliere quella beige
a macchie marroni.
Quindi nel pannello Model, scegliere select e come opzione Group e selezionare
il corpo dell'omino. Adesso tornare nel pannello material e scegliere Assign.
La vista 3D dovrebbe già mostrare il cambiamento. Andare nel pannello
Groups e notare che al corpo è stato associato il materiale giraffa.
Procedere analogamente per il materiale mucca e assegnarlo agli arti.
Per la testa creeremo un materiale di nome "untextured" e sceglieremo
un colore di ambient sul verdino. Giocare un pò con gli altri parametri
per capire il significato.
Quindi assegniamo alla testa il materiale untexured. Si faccia molta attenzione:
un modello può essere già esportato senza l'aggiunta di un materiale.
Quando si decide di assegnare un materiale, tutti i gruppi devono essere assegnati
a qualcosa. Altrimenti il modello non verrà importato correttamente
in genesis.
Ecco come dovrebbe risultare l'omino:
Gli strumenti di animazione messi a disposizione da Milkshape purtroppo non
sono potentissimi, ma bisogna accontentarsi in quanto si tratta di un programma
shareware.
Per iniziare la fase di animazione si deve premere il pulsante Anim in fondo
a destra. Finche il pulsante risulta illuminato ci troviamo nella modalità
animazione. La barra in basso è una barra temporale che ci permette
di muoverci tra i vari frames dell'animazione.
Un'animazione 2D/3D si sviluppa entro una sequenza temporale la cui unità di misura è il frame. L'animazione è composta da keyframe. Un keyframe è una sorta di fotografia del modello in un certo istante di tempo; in termini tecnici si tratta di assegnare una matrice di trasformazione (traslazione, rotazione, scala) alle singole parti del modello (ne nostro caso alle bone). Si immagini quindi l'animazione come una serie di fotografie. Più keyframe ci sono più sarà lunga e complessa l'animazione. Ma i keyframe non devono essere necessariamente ad ogni frame. Cosa succede se tra un keyframe e l'altro intercorre del tempo? La risposta è dipende dal programma. Milkshape effettua una interpolazione lineare. Lo stesso fa il motore grafico della genesis. Il 3D Studio permette una gran quantità di interpolazioni, compreso la possibilità di definire delle curve di Bezier e definire frame per frame cosa succede.
Per scopi semplici come il nostro, l'interpolazione lineare è più che sufficiente. Animare in Milkshape è estremamente semplice. Si sposta la barra temporale al frame voluto.
Si effettuano le modifiche direttamente sulle bones del modello. Quando si ritiene che il keyframe è pronto si prema Ctrl + K per fissare il keyframe. Quindi si può passare al successivo. Quando l'animazione è terminata si può vedere premendo > nella barra in basso.
Nel nostro esempio ho creato 3 keyframe, in 0.0, 16.0 e 30.0
Ecco come si presenta la vista laterale e quella prospettica in corrispondenza
ai tre keyframe:
keyframe 1:
keyframe 2:
keyframe 3:
Come si può notare il keyframe 1 e il 3 sono abbastanza simili perché si vuole creare una animazione a ciclo infinito.